﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace BlockeyEssentials.Drawing
{
    public class SpriteV : Sprite
    {
        public SpriteV(Texture2D oTexture, Vector2 oPosition, Vector2 oScale)
            : base(oTexture)
        {
            Texture = oTexture;
            Position = oPosition;
            Scale = oScale;
            PositionShift = Vector2.Zero;
        }

        #region Methods

        public override void Draw(SpriteBatch oSB, float oTransition)
        {
            oSB.Draw(Texture,
                Position + PositionShift,
                Source,
                Color * oTransition,
                Rotation,
                Origin,
                Scale,
                Effect,
                LayerOrder);
        }

        #endregion

        #region Properties

        public Vector2 Position
        {
            get { return _Position; }
            set { _Position = value; }
        }

        public Vector2 PositionShift
        {
            get { return _PositionShift; }
            set { _PositionShift = value; }
        }

        public Vector2 Scale
        {
            get { return _Scale; }
            set { _Scale = value; }
        }

        #endregion

        private Vector2 _Position;
        private Vector2 _PositionShift;
        private Vector2 _Scale;

    }
}
